package com.sys.orders.service;

import java.util.Map;

import com.sys.common.pojo.ApiResponse;
import com.sys.common.util.PageInfoUtil;
import com.sys.orders.pojo.AOrders;
import com.sys.orders.pojo.AOrdersGoods;

/**
 * Service接口(订单代码) 此接口中只存储数据库表的CRUD
 * 
 * @author 朱明宇
 */
public interface IOrdersDbService
{
	/*----- 订单模块管理开始 -----*/
	/**
	 * 添加一条订单
	 * 
	 * @param demoOrders 订单的对象
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
	 */
	ApiResponse<Object> saveOneOrdersService(AOrders orders);

	/**
	 * 更新一条订单
	 * 
	 * @param demoOrders 订单的对象
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
	 */
	ApiResponse<Object> updateOneOrdersService(AOrders orders);

	/**
	 * 删除一条订单
	 * 
	 * @param condMap 删除的条件
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
	 */
	ApiResponse<Object> deleteOneOrdersService(Map<String, Object> condMap);

	/**
	 * 查询多条订单
	 * 
	 * @param pageInfoUtil 封装的分页对象;{{@link PageInfoUtil}
	 * @param condMap      搜索的条件
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AOrders
	 */
	ApiResponse<AOrders> findCondListOrdersService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

	/**
	 * 查询一条订单
	 * 
	 * @param condMap 搜索的条件
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AOrders
	 */
	ApiResponse<AOrders> findOneOrdersService(Map<String, Object> condMap);
	/*----- 订单模块管理结束 -----*/
	
	/*----- 订单商品模块管理开始 -----*/
	/**
	 * 添加一条订单商品
	 * 
	 * @param demoOrdersGoods 订单商品的对象
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
	 */
	ApiResponse<Object> saveOneOrdersGoodsService(AOrdersGoods ordersGoods);

	/**
	 * 更新一条订单商品
	 * 
	 * @param demoOrdersGoods 订单商品的对象
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
	 */
	ApiResponse<Object> updateOneOrdersGoodsService(AOrdersGoods ordersGoods);

	/**
	 * 删除一条订单商品
	 * 
	 * @param condMap 删除的条件
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
	 */
	ApiResponse<Object> deleteOneOrdersGoodsService(Map<String, Object> condMap);

	/**
	 * 查询多条订单商品
	 * 
	 * @param pageInfoUtil 封装的分页对象;{{@link PageInfoUtil}
	 * @param condMap      搜索的条件
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AOrdersGoods
	 */
	ApiResponse<AOrdersGoods> findCondListOrdersGoodsService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

	/**
	 * 查询一条订单商品
	 * 
	 * @param condMap 搜索的条件
	 * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是AOrdersGoods
	 */
	ApiResponse<AOrdersGoods> findOneOrdersGoodsService(Map<String, Object> condMap);
	/*----- 订单商品模块管理结束 -----*/
}
